iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0


昨天我們介紹了變數的基礎概念,就像學會了如何在盒子裡放置單件物品。今天,我們要認識更複雜的資料結構。想像你獲得了一魔法收納盒子,不僅能應付雜亂的房間,還能確保用最快速的方式找到任何指定物品,這就是後端工程師最大價值所在!

序列型資料結構(陣列、列表)

序列型資料結構就像一個有魔力的、有序的盒子,可以依序儲存多個同類元素。想像你有一排可以自動擴展的鞋櫃,每個鞋位不僅有其特定的序列編號(索引),還能根據鞋子(元素)多寡自動增加或縮小。這就是序列型資料結構的概念。

特點:

  • 元素有明確的順序,就像圖書館的書架,每本書都有其固定位置
  • 可以透過鞋位編號(索引)快速取得鞋子(元素),彷彿你有一個指針,指向哪裡就能立即取得哪裡的物品
  • 支援新增、刪除和修改元素,就像你可以在書架上插入新書、抽出舊書或替換某本書
  • 適合需要保持順序或需要頻繁存取特定位置元素的場景,例如動漫進擊的巨人你會希望 Netflix 他按順序播放一樣

常見操作:

  • 新增元素:就像在書架尾端加一本新書,或在兩本書之間插入一本
  • 移除元素:如同從書架上拿走一本不再需要的書
  • 尋找特定位置的元素:直接去到書架的第N個位置取書
  • 遍歷所有元素:就像從頭到尾掃視一遍書架,檢查每一本書

關聯型資料結構(物件、字典)

關聯型資料結構就像一個混沌盒子。放入的每個物品(值)都必須有一個獨特的識別符(鍵),且透過這個識別符(鍵)可以馬上找到對應的物品(值)。想像你有一本魔法字典,只要對著它唸出物品開頭字母(鍵),就能立即取出該物品(值),這就是關聯型資料結構的概念。

特點:

  • 每個元素都是鍵值對,就像每個聯絡人(鍵)都對應著他的聯絡資訊(值)
  • 可以透過唯一的鍵快速訪問值,如同在魔法字典中唸出一個詞,立即得到其解釋
  • 不保證元素的順序,就像通訊錄中的聯絡人可能不按字母順序排列
  • 適合需要快速查詢、更新和刪除的場景,特別是當你需要透過某個唯一識別符來查詢物品時

常見操作:

  • 新增鍵值對:如同在通訊錄中添加新聯絡人及其資訊
  • 刪除鍵值對:猶如從通訊錄中移除某個聯絡人
  • 依據鍵尋找值:直接通過人名找到他的聯絡方式
  • 遍覽所有鍵或值:瀏覽通訊錄中所有人的名字或所有的聯絡方式

結語

掌握這些進階資料型別概念,你就不再只是簡單地堆放資料,而是更有效率地管理複雜的資料結構。這些概念將幫助你建構更高效、更靈活的應用程式,彷彿將雜亂的倉庫變身為井然有序的魔法雜貨舖一般。

理解這些概念只是開始,接著是學習應用不同程式語言的特性,設計出最適合的應用程式架構!


上一篇
程式語言基礎I:變數和基本資料型別概念
下一篇
程式語言基礎III:運算子基礎概念
系列文
30天轉職馬拉松:從0到Offer的學習計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言